package org.wheel.plugins.toolkit.util.sql.association.bean;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.wheel.plugins.toolkit.sql.annon.Id;
import org.wheel.plugins.toolkit.sql.annon.Table;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 座位占用表（一行一座位）
 * </p>
 *
 * @author lanjf2000
 * @since 2025-10-08
 */
@Data
@Table("b_seat_occupy")
@EqualsAndHashCode(callSuper = false)
public class SeatOccupy implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 数据主键
     */
    @Id
    private String id;

    /**
     * 外键→b_booking.id
     */
    private String bookingId;

    /**
     * 冗余，快速查询
     */
    private String scheduleId;

    /**
     * 外键→c_seat.id
     */
    private String seatId;

    /**
     * 实际上课人→s_student.id; 如果 student_id 为空，默认等于 USER_ID（自己给自己约）
     */
    private String studentId;

    /**
     * 冗余，快速查询
     */
    private String userId;

    /**
     * 10 占用 20 已释放 30 已上课
     */
    private Integer status;

    /**
     * 页面显示标记：0-显示；1-不显示
     */
    private Integer avaFlag;

    /**
     * 删除标记：0-未删除；1-已删除
     */
    private Integer delFlag;

    /**
     * 乐观锁
     */
    private Integer revision;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 创建时间
     */
    private Date createdTime;

    /**
     * 更新人
     */
    private String updatedBy;

    /**
     * 更新时间
     */
    private Date updatedTime;
}
